package main

import(
	"fmt"
)
//演示基本数据类型转换
func main()  {
	var i int32 = 100
	var n1 float32 = float32(i)
	var n2 int8 = int8(i)
	fmt.Printf("i=%v n1=%v n2=%v i的类型=%T \n",i,n1,n2,i)

	var f1 float64 = 10.5
	//这里并非四舍五入，而是直接截断
	var n3 int32 = int32(f1)

	fmt.Printf("n3=%v \n",n3)

	var num int32 = 300
	num2:=int8(num)//结果是1 因为int8最大是127，大1时直接溢出到-128（128-128+（-128）），
	//大2时溢出到-127，以此类推当num是300时为44(300-128+(-128))
	//其实就是溢出时若超过最大值则从最小值重新开始，若超过最小值，则从最大值开始
	fmt.Printf("num2=%v num2的类型=%T",num2,num2)


	




}